import { defineStore } from 'pinia'
import { ref } from 'vue'
import { getUserInfo, setUserInfo, removeUserInfo } from '../services/auth'

export const useUserStore = defineStore('user', () => {
  const userInfo = ref(getUserInfo())

  function updateUserInfo(info) {
    userInfo.value = info
    if (info) {
      setUserInfo(info)
    } else {
      removeUserInfo()
    }
  }

  function loadUserInfo() {
    userInfo.value = getUserInfo()
    return userInfo.value
  }

  return { userInfo, updateUserInfo, loadUserInfo }
})